package top.healthylife.gateway.platform.mysql.dto.pblack.res;

import cn.hutool.core.date.DatePattern;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import top.healthylife.gateway.platform.mysql.dto.BlackMatchResultItem;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 企业黑名单
 * </p>
 *
 * @author hare-maven
 * @since 2020-05-14
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Accessors(chain = true)
@ApiModel(value="个人黑名单")
public class MySqlResPersonalBlackListDto extends BlackMatchResultItem implements Serializable {

    private static final long serialVersionUID = 1L;

    public MySqlResPersonalBlackListDto(){

    }

    public MySqlResPersonalBlackListDto(boolean match,String message){
        this.setMatch(match);
        this.setMessage(message);
    }

    /**
     * 主键ID
     */
    @ApiModelProperty(value = "主键ID")
    private Long id;
    /**
     * 录入人
     */
    @ApiModelProperty(value = "录入人")
    private String entrant;
    /**
     * 来源
     */
    @ApiModelProperty(value = "来源")
    private String source;
    /**
     * 录入时间
     */
    @ApiModelProperty(value = "录入时间")
    @DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
    private LocalDateTime entryTime;
    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名")
    private String name;
    /**
     * 身份证
     */
    @ApiModelProperty(value = "身份证")
    private String idCard;
    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    private String phoneNumber;
    /**
     * 欠款金额
     */
    @ApiModelProperty(value = "欠款金额")
    private BigDecimal amountOwed;
    /**
     * 企业id
     */
    @ApiModelProperty(value = "企业id")
    private Long businessId;
    /**
     * 是否已还清欠款(默认是 0 否，1是)
     */
    @ApiModelProperty(value = "是否已还清欠款(默认是 0 否，1是)")
    private String arrearsStatus;
    /**
     * 是否移除黑名单（0 否，1是）
     */
    @ApiModelProperty(value = "是否移除黑名单（0 否，1是）")
    private String removeStatus;
    /**
     * 移除人
     */
    @ApiModelProperty(value = "移除人")
    private String removePerson;
    /**
     * 移除时间
     */
    @ApiModelProperty(value = "移除时间")
    @DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
    private LocalDateTime removeTime;

    /**
     * 原因
     */
    @ApiModelProperty(value = "原因")
    private String reason;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
    private LocalDateTime createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
    private LocalDateTime updateTime;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remarks;

}